''' high level module that can be used directly '''